package com.springboot.framework.service;

import com.springboot.framework.model.ProductModel;

import java.util.List;

/**
 * @Author SWF
 * @Date 2019/6/6 13:34
 **/
public interface ProductService {

    ProductModel get(Integer productId);

    /**
     * 查询所有商品
     * @param shopId
     * @return
     */
    List<ProductModel> listAll(Integer shopId);

    /**
     * 查询所有上架的商品
     * @param shopId
     * @return
     */
    List<ProductModel> listUp(Integer shopId);

    /**
     * 新增商品
     * @param productModel
     * @return
     */
    ProductModel insert(ProductModel productModel);

    /**
     * 修改商品状态，上下架
     * @param productId
     * @param status
     * @param shopId
     * @return
     */
    ProductModel updateStatus(Integer productId, Byte status, Integer shopId);

    ProductModel update(ProductModel productModel);

    /**
     * 加库存
     * @param productId
     * @param quantity
     */
    void increaseStock(Integer productId, Integer quantity);

    /**
     * 减库存
     * @param productId
     * @param quantity
     */
    void decreaseStock(Integer productId , Integer quantity);

    void delete(Integer productId , Integer shopId);
}
